package com.example.hospital_208.dao;

import com.example.hospital_208.po.PatientInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface PatientInfoDao {
    // 查询所有患者信息
    List<PatientInfo> findAllPatientInfos();

    // 根据患者ID查询单个患者
    PatientInfo findPatientInfoById(String patient_id);

    // 新增患者
    int insertPatientInfo(PatientInfo patientInfo);

    // 修改患者信息
    int updatePatientInfo(PatientInfo patientInfo);

    // 根据患者ID删除患者
    int deletePatientInfoById(String patient_id);

    // 按姓名模糊查询患者列表
    List<PatientInfo> findPatientInfosByName(@Param("name") String name);

    // 按姓名统计患者人数
    int countPatientsByName(@Param("name") String name);

    // 根据 user_id 查询患者信息
    PatientInfo findPatientInfoByUserId(@Param("user_id") Integer userId);

    // 新增：根据 patient_infoid 查询患者信息
    PatientInfo findPatientInfoByInfoid(@Param("patient_infoid") Integer patient_infoid);
    // 新增：根据 patient_id 查询患者信息
    PatientInfo findPatientInfoByPatientId(@Param("patient_id") String patient_id);
}